package com.bitoon.basketdudes.web.jpa;

import java.io.Serializable;
import javax.persistence.*;

@Embeddable
public class CalendarioPK implements Serializable {
    @Basic(optional = false)
    @Column(name = "temporada_id")
    private int temporadaId;
    @Basic(optional = false)
    @Column(name = "jornada_id")
    private int jornadaId;
    /*
    @Basic(optional = false)
    @Column(name = "equipo_id1")
    private int equipoId1;
    @Basic(optional = false)
    @Column(name = "equipo_id2")
    private int equipoId2;
     * 
     */

    @JoinColumn(name = "equipo_id1", referencedColumnName = "id", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Equipo equipo1;
    @JoinColumn(name = "equipo_id2", referencedColumnName = "id", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Equipo equipo2;

    public CalendarioPK() {
    }

    public CalendarioPK(int temporadaId, int jornadaId, int equipoId1, int equipoId2) {
        this.temporadaId = temporadaId;
        this.jornadaId = jornadaId;
        //this.equipoId1 = equipoId1;
        //this.equipoId2 = equipoId2;
    }

    public int getTemporadaId() {
        return temporadaId;
    }

    public void setTemporadaId(int temporadaId) {
        this.temporadaId = temporadaId;
    }

    public int getJornadaId() {
        return jornadaId;
    }

    public void setJornadaId(int jornadaId) {
        this.jornadaId = jornadaId;
    }

    /*
    public int getEquipoId1() {
        return equipoId1;
    }

    public void setEquipoId1(int equipoId1) {
        this.equipoId1 = equipoId1;
    }

    public int getEquipoId2() {
        return equipoId2;
    }

    public void setEquipoId2(int equipoId2) {
        this.equipoId2 = equipoId2;
    }
     * 
     */

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (int) temporadaId;
        hash += (int) jornadaId;
        //hash += (int) equipoId1;
        //hash += (int) equipoId2;
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof CalendarioPK)) {
            return false;
        }
        CalendarioPK other = (CalendarioPK) object;
        if (this.temporadaId != other.temporadaId) {
            return false;
        }
        if (this.jornadaId != other.jornadaId) {
            return false;
        }
        /*
        if (this.equipoId1 != other.equipoId1) {
            return false;
        }
        if (this.equipoId2 != other.equipoId2) {
            return false;
        }
         * 
         */
        return true;
    }

    @Override
    public String toString() {
        return "com.bitoon.basketdudes.web.jpa.CalendarioPK[temporadaId=" + temporadaId + ", jornadaId=" + jornadaId + ", equipoId1=" 
                //+ equipoId1 + ", equipoId2=" + equipoId2
                + "]";
    }

    public Equipo getEquipo1() {
        return equipo1;
    }

    public void setEquipo1(Equipo equipo1) {
        this.equipo1 = equipo1;
    }

    public Equipo getEquipo2() {
        return equipo2;
    }

    public void setEquipo2(Equipo equipo2) {
        this.equipo2 = equipo2;
    }

}
